// starting begin enable ( 1 ) ;
   0: LD_INT 1
   2: ENABLE_MARKED
// InGameOn ;
   3: CALL_OW 8
// HEROES ;
   7: CALL 654 0 0
// Center = 1 ;
  11: LD_ADDR_EXP 9
  15: PUSH
  16: LD_INT 1
  18: ST_TO_ADDR
// InitDifficult ;
  19: CALL 1446 0 0
// AddComMoveXY ( [ F1 , F2 , F3 , E1 , E2 , W_2 , J_1 , Nefarem ] , 35 , 44 ) ;
  23: LD_EXP 1
  27: PUSH
  28: LD_EXP 2
  32: PUSH
  33: LD_EXP 3
  37: PUSH
  38: LD_EXP 5
  42: PUSH
  43: LD_EXP 4
  47: PUSH
  48: LD_EXP 6
  52: PUSH
  53: LD_EXP 7
  57: PUSH
  58: LD_EXP 8
  62: PUSH
  63: EMPTY
  64: LIST
  65: LIST
  66: LIST
  67: LIST
  68: LIST
  69: LIST
  70: LIST
  71: LIST
  72: PPUSH
  73: LD_INT 35
  75: PPUSH
  76: LD_INT 44
  78: PPUSH
  79: CALL_OW 171
// AddComMoveXY ( [ F1 , F2 , F3 , E1 , E2 , W_2 , J_1 ] , 18 , 32 ) ;
  83: LD_EXP 1
  87: PUSH
  88: LD_EXP 2
  92: PUSH
  93: LD_EXP 3
  97: PUSH
  98: LD_EXP 5
 102: PUSH
 103: LD_EXP 4
 107: PUSH
 108: LD_EXP 6
 112: PUSH
 113: LD_EXP 7
 117: PUSH
 118: EMPTY
 119: LIST
 120: LIST
 121: LIST
 122: LIST
 123: LIST
 124: LIST
 125: LIST
 126: PPUSH
 127: LD_INT 18
 129: PPUSH
 130: LD_INT 32
 132: PPUSH
 133: CALL_OW 171
// Say ( Nefarem , 0 ) ;
 137: LD_EXP 8
 141: PPUSH
 142: LD_STRING 0
 144: PPUSH
 145: CALL_OW 88
// AddComMoveXY ( Nefarem , 32 , 31 ) ;
 149: LD_EXP 8
 153: PPUSH
 154: LD_INT 32
 156: PPUSH
 157: LD_INT 31
 159: PPUSH
 160: CALL_OW 171
// AddComCrawl ( Nefarem ) ;
 164: LD_EXP 8
 168: PPUSH
 169: CALL_OW 197
// AddComHold ( Nefarem ) ;
 173: LD_EXP 8
 177: PPUSH
 178: CALL_OW 200
// AddComHold ( [ RUS1 , RUS2 , ASD1 , ASD2 , ASD3 , ASD4 , ASD5 ] ) ;
 182: LD_INT 87
 184: PUSH
 185: LD_INT 91
 187: PUSH
 188: LD_INT 84
 190: PUSH
 191: LD_INT 85
 193: PUSH
 194: LD_INT 86
 196: PUSH
 197: LD_INT 82
 199: PUSH
 200: LD_INT 83
 202: PUSH
 203: EMPTY
 204: LIST
 205: LIST
 206: LIST
 207: LIST
 208: LIST
 209: LIST
 210: LIST
 211: PPUSH
 212: CALL_OW 200
// end ;
 216: END
// every 0 0$1 trigger IsInArea ( Nefarem , DALEJ ) do
 217: LD_EXP 8
 221: PPUSH
 222: LD_INT 3
 224: PPUSH
 225: CALL_OW 308
 229: IFFALSE 463
 231: GO 233
 233: DISABLE
// begin ShowArea ( 4 , Area10 ) ;
 234: LD_INT 4
 236: PPUSH
 237: LD_INT 5
 239: PPUSH
 240: CALL_OW 334
// RevealFogArea ( 4 , Area10 ) ;
 244: LD_INT 4
 246: PPUSH
 247: LD_INT 5
 249: PPUSH
 250: CALL_OW 332
// CenterNowOnUnits ( RUS1 ) ;
 254: LD_INT 87
 256: PPUSH
 257: CALL_OW 87
// Say ( RUS1 , 1 ) ;
 261: LD_INT 87
 263: PPUSH
 264: LD_STRING 1
 266: PPUSH
 267: CALL_OW 88
// CenterNowOnUnits ( Nefarem ) ;
 271: LD_EXP 8
 275: PPUSH
 276: CALL_OW 87
// SayRadio ( SURV1 , 2 ) ;
 280: LD_INT 160
 282: PPUSH
 283: LD_STRING 2
 285: PPUSH
 286: CALL_OW 94
// Say ( Nefarem , 3 ) ;
 290: LD_EXP 8
 294: PPUSH
 295: LD_STRING 3
 297: PPUSH
 298: CALL_OW 88
// InGameoff ;
 302: CALL_OW 9
// SaveForQuickRestart ;
 306: CALL_OW 22
// Center = 0 ;
 310: LD_ADDR_EXP 9
 314: PUSH
 315: LD_INT 0
 317: ST_TO_ADDR
// ChangeMissionObjectives ( M3 ) ;
 318: LD_STRING M3
 320: PPUSH
 321: CALL_OW 337
// case Query ( INFO ) of 1 :
 325: LD_STRING INFO
 327: PPUSH
 328: CALL_OW 97
 332: PUSH
 333: LD_INT 1
 335: DOUBLE
 336: EQUAL
 337: IFTRUE 341
 339: GO 462
 341: POP
// begin ComEnterUnit ( A1 , B1 ) ;
 342: LD_INT 118
 344: PPUSH
 345: LD_INT 115
 347: PPUSH
 348: CALL_OW 120
// ComEnterUnit ( A2 , B2 ) ;
 352: LD_INT 107
 354: PPUSH
 355: LD_INT 79
 357: PPUSH
 358: CALL_OW 120
// ComEnterUnit ( A3 , B3 ) ;
 362: LD_INT 108
 364: PPUSH
 365: LD_INT 80
 367: PPUSH
 368: CALL_OW 120
// ComEnterUnit ( RUS2 , RUS2_2 ) ;
 372: LD_INT 91
 374: PPUSH
 375: LD_INT 73
 377: PPUSH
 378: CALL_OW 120
// wait ( 0 0$12 ) ;
 382: LD_INT 420
 384: PPUSH
 385: CALL_OW 67
// ComAgressiveMove ( [ RUS1 , ASD1 , ASD2 , ASD3 , ASD4 , ASD5 ] , 8 , 5 ) ;
 389: LD_INT 87
 391: PUSH
 392: LD_INT 84
 394: PUSH
 395: LD_INT 85
 397: PUSH
 398: LD_INT 86
 400: PUSH
 401: LD_INT 82
 403: PUSH
 404: LD_INT 83
 406: PUSH
 407: EMPTY
 408: LIST
 409: LIST
 410: LIST
 411: LIST
 412: LIST
 413: LIST
 414: PPUSH
 415: LD_INT 8
 417: PPUSH
 418: LD_INT 5
 420: PPUSH
 421: CALL_OW 114
// wait ( 0 0$7 ) ;
 425: LD_INT 245
 427: PPUSH
 428: CALL_OW 67
// ComAgressiveMove ( [ RUS2 , A1 , A2 , A3 ] , 43 , 62 ) ;
 432: LD_INT 91
 434: PUSH
 435: LD_INT 118
 437: PUSH
 438: LD_INT 107
 440: PUSH
 441: LD_INT 108
 443: PUSH
 444: EMPTY
 445: LIST
 446: LIST
 447: LIST
 448: LIST
 449: PPUSH
 450: LD_INT 43
 452: PPUSH
 453: LD_INT 62
 455: PPUSH
 456: CALL_OW 114
// end ; end ;
 460: GO 463
 462: POP
// end ;
 463: END
// every 0 0$0.1 trigger IsDead ( B1 ) do
 464: LD_INT 115
 466: PPUSH
 467: CALL_OW 301
 471: IFFALSE 583
 473: GO 475
 475: DISABLE
// begin disable ( 1 ) ;
 476: LD_INT 1
 478: DISABLE_MARKED
// ComAgressiveMove ( [ RUS1 , ASD1 , ASD2 , ASD3 , ASD4 , ASD5 ] , 43 , 62 ) ;
 479: LD_INT 87
 481: PUSH
 482: LD_INT 84
 484: PUSH
 485: LD_INT 85
 487: PUSH
 488: LD_INT 86
 490: PUSH
 491: LD_INT 82
 493: PUSH
 494: LD_INT 83
 496: PUSH
 497: EMPTY
 498: LIST
 499: LIST
 500: LIST
 501: LIST
 502: LIST
 503: LIST
 504: PPUSH
 505: LD_INT 43
 507: PPUSH
 508: LD_INT 62
 510: PPUSH
 511: CALL_OW 114
// ComExitVehicle ( [ A1 , A2 , A3 , RUS2 ] ) ;
 515: LD_INT 118
 517: PUSH
 518: LD_INT 107
 520: PUSH
 521: LD_INT 108
 523: PUSH
 524: LD_INT 91
 526: PUSH
 527: EMPTY
 528: LIST
 529: LIST
 530: LIST
 531: LIST
 532: PPUSH
 533: CALL_OW 121
// Say ( RUS2 , 000 ) ;
 537: LD_INT 91
 539: PPUSH
 540: LD_STRING 000
 542: PPUSH
 543: CALL_OW 88
// wait ( 0 0$1 ) ;
 547: LD_INT 35
 549: PPUSH
 550: CALL_OW 67
// Say ( Nefarem , 4 ) ;
 554: LD_EXP 8
 558: PPUSH
 559: LD_STRING 4
 561: PPUSH
 562: CALL_OW 88
// ChangeMissionObjectives ( M4 ) ;
 566: LD_STRING M4
 568: PPUSH
 569: CALL_OW 337
// SetAreaMapShow ( UCIEKAC , 1 ) ;
 573: LD_INT 2
 575: PPUSH
 576: LD_INT 1
 578: PPUSH
 579: CALL_OW 424
// end ;
 583: END
// every 0 0$01 trigger FilterUnitsInArea ( uciekac , [ [ f_side , 4 ] , [ f_type , unit_vehicle ] ] ) >= 3 do
 584: LD_INT 2
 586: PPUSH
 587: LD_INT 22
 589: PUSH
 590: LD_INT 4
 592: PUSH
 593: EMPTY
 594: LIST
 595: LIST
 596: PUSH
 597: LD_INT 21
 599: PUSH
 600: LD_INT 2
 602: PUSH
 603: EMPTY
 604: LIST
 605: LIST
 606: PUSH
 607: EMPTY
 608: LIST
 609: LIST
 610: PPUSH
 611: CALL_OW 70
 615: PUSH
 616: LD_INT 3
 618: GREATEREQUAL
 619: IFFALSE 653
 621: GO 623
 623: DISABLE
// begin RewardPeople ( Nefarem ) ;
 624: LD_EXP 8
 628: PPUSH
 629: CALL_OW 43
// SaveCharacters ( Nefarem , Nefarem ) ;
 633: LD_EXP 8
 637: PPUSH
 638: LD_STRING Nefarem
 640: PPUSH
 641: CALL_OW 38
// Medale ;
 645: CALL 1276 0 0
// youwin ;
 649: CALL_OW 103
// end ; end_of_file
 653: END
// export F1 , F2 , F3 , E2 , E1 , W_2 , J_1 , Nefarem ; export function HEROES ; begin
 654: LD_INT 0
 656: PPUSH
// uc_side = 4 ;
 657: LD_ADDR_OWVAR 20
 661: PUSH
 662: LD_INT 4
 664: ST_TO_ADDR
// uc_nation = 1 ;
 665: LD_ADDR_OWVAR 21
 669: PUSH
 670: LD_INT 1
 672: ST_TO_ADDR
// E2 := CreateCharacter ( E2 ) ;
 673: LD_ADDR_EXP 4
 677: PUSH
 678: LD_STRING E2
 680: PPUSH
 681: CALL_OW 34
 685: ST_TO_ADDR
// PlaceUnitArea ( E2 , BOHATEROWIE , false ) ;
 686: LD_EXP 4
 690: PPUSH
 691: LD_INT 1
 693: PPUSH
 694: LD_INT 0
 696: PPUSH
 697: CALL_OW 49
// uc_side = 4 ;
 701: LD_ADDR_OWVAR 20
 705: PUSH
 706: LD_INT 4
 708: ST_TO_ADDR
// uc_nation = 1 ;
 709: LD_ADDR_OWVAR 21
 713: PUSH
 714: LD_INT 1
 716: ST_TO_ADDR
// W_2 := CreateCharacter ( W_2 ) ;
 717: LD_ADDR_EXP 6
 721: PUSH
 722: LD_STRING W_2
 724: PPUSH
 725: CALL_OW 34
 729: ST_TO_ADDR
// PlaceUnitArea ( W_2 , BOHATEROWIE , false ) ;
 730: LD_EXP 6
 734: PPUSH
 735: LD_INT 1
 737: PPUSH
 738: LD_INT 0
 740: PPUSH
 741: CALL_OW 49
// uc_side = 4 ;
 745: LD_ADDR_OWVAR 20
 749: PUSH
 750: LD_INT 4
 752: ST_TO_ADDR
// uc_nation = 1 ;
 753: LD_ADDR_OWVAR 21
 757: PUSH
 758: LD_INT 1
 760: ST_TO_ADDR
// J_1 := CreateCharacter ( J_1 ) ;
 761: LD_ADDR_EXP 7
 765: PUSH
 766: LD_STRING J_1
 768: PPUSH
 769: CALL_OW 34
 773: ST_TO_ADDR
// PlaceUnitArea ( J_1 , BOHATEROWIE , false ) ;
 774: LD_EXP 7
 778: PPUSH
 779: LD_INT 1
 781: PPUSH
 782: LD_INT 0
 784: PPUSH
 785: CALL_OW 49
// uc_side = 4 ;
 789: LD_ADDR_OWVAR 20
 793: PUSH
 794: LD_INT 4
 796: ST_TO_ADDR
// uc_nation = 1 ;
 797: LD_ADDR_OWVAR 21
 801: PUSH
 802: LD_INT 1
 804: ST_TO_ADDR
// E1 := CreateCharacter ( E1 ) ;
 805: LD_ADDR_EXP 5
 809: PUSH
 810: LD_STRING E1
 812: PPUSH
 813: CALL_OW 34
 817: ST_TO_ADDR
// PlaceUnitArea ( E1 , BOHATEROWIE , false ) ;
 818: LD_EXP 5
 822: PPUSH
 823: LD_INT 1
 825: PPUSH
 826: LD_INT 0
 828: PPUSH
 829: CALL_OW 49
// uc_side = 4 ;
 833: LD_ADDR_OWVAR 20
 837: PUSH
 838: LD_INT 4
 840: ST_TO_ADDR
// uc_nation = 1 ;
 841: LD_ADDR_OWVAR 21
 845: PUSH
 846: LD_INT 1
 848: ST_TO_ADDR
// F1 := CreateCharacter ( F1 ) ;
 849: LD_ADDR_EXP 1
 853: PUSH
 854: LD_STRING F1
 856: PPUSH
 857: CALL_OW 34
 861: ST_TO_ADDR
// PlaceUnitArea ( F1 , BOHATEROWIE , false ) ;
 862: LD_EXP 1
 866: PPUSH
 867: LD_INT 1
 869: PPUSH
 870: LD_INT 0
 872: PPUSH
 873: CALL_OW 49
// uc_side = 4 ;
 877: LD_ADDR_OWVAR 20
 881: PUSH
 882: LD_INT 4
 884: ST_TO_ADDR
// uc_nation = 1 ;
 885: LD_ADDR_OWVAR 21
 889: PUSH
 890: LD_INT 1
 892: ST_TO_ADDR
// F2 := CreateCharacter ( F2 ) ;
 893: LD_ADDR_EXP 2
 897: PUSH
 898: LD_STRING F2
 900: PPUSH
 901: CALL_OW 34
 905: ST_TO_ADDR
// PlaceUnitArea ( F2 , BOHATEROWIE , false ) ;
 906: LD_EXP 2
 910: PPUSH
 911: LD_INT 1
 913: PPUSH
 914: LD_INT 0
 916: PPUSH
 917: CALL_OW 49
// uc_side = 4 ;
 921: LD_ADDR_OWVAR 20
 925: PUSH
 926: LD_INT 4
 928: ST_TO_ADDR
// uc_nation = 1 ;
 929: LD_ADDR_OWVAR 21
 933: PUSH
 934: LD_INT 1
 936: ST_TO_ADDR
// F3 := CreateCharacter ( F3 ) ;
 937: LD_ADDR_EXP 3
 941: PUSH
 942: LD_STRING F3
 944: PPUSH
 945: CALL_OW 34
 949: ST_TO_ADDR
// PlaceUnitArea ( F3 , BOHATEROWIE , false ) ;
 950: LD_EXP 3
 954: PPUSH
 955: LD_INT 1
 957: PPUSH
 958: LD_INT 0
 960: PPUSH
 961: CALL_OW 49
// uc_side = 4 ;
 965: LD_ADDR_OWVAR 20
 969: PUSH
 970: LD_INT 4
 972: ST_TO_ADDR
// uc_nation = 1 ;
 973: LD_ADDR_OWVAR 21
 977: PUSH
 978: LD_INT 1
 980: ST_TO_ADDR
// Nefarem := CreateCharacter ( Nefarem ) ;
 981: LD_ADDR_EXP 8
 985: PUSH
 986: LD_STRING Nefarem
 988: PPUSH
 989: CALL_OW 34
 993: ST_TO_ADDR
// PlaceUnitArea ( Nefarem , BOHATEROWIE , false ) ;
 994: LD_EXP 8
 998: PPUSH
 999: LD_INT 1
1001: PPUSH
1002: LD_INT 0
1004: PPUSH
1005: CALL_OW 49
// end ; end_of_file
1009: LD_VAR 0 1
1013: RET
// every 0 0$0.1 trigger IsInArea ( Nefarem , Survior ) or IsInArea ( F3 , Survior ) or IsInArea ( F2 , Survior ) or IsInArea ( F1 , Survior ) or IsInArea ( E2 , Survior ) or IsInArea ( E1 , Survior ) or IsInArea ( W_2 , Survior ) or IsInArea ( J_1 , Survior ) do
1014: LD_EXP 8
1018: PPUSH
1019: LD_INT 4
1021: PPUSH
1022: CALL_OW 308
1026: PUSH
1027: LD_EXP 3
1031: PPUSH
1032: LD_INT 4
1034: PPUSH
1035: CALL_OW 308
1039: OR
1040: PUSH
1041: LD_EXP 2
1045: PPUSH
1046: LD_INT 4
1048: PPUSH
1049: CALL_OW 308
1053: OR
1054: PUSH
1055: LD_EXP 1
1059: PPUSH
1060: LD_INT 4
1062: PPUSH
1063: CALL_OW 308
1067: OR
1068: PUSH
1069: LD_EXP 4
1073: PPUSH
1074: LD_INT 4
1076: PPUSH
1077: CALL_OW 308
1081: OR
1082: PUSH
1083: LD_EXP 5
1087: PPUSH
1088: LD_INT 4
1090: PPUSH
1091: CALL_OW 308
1095: OR
1096: PUSH
1097: LD_EXP 6
1101: PPUSH
1102: LD_INT 4
1104: PPUSH
1105: CALL_OW 308
1109: OR
1110: PUSH
1111: LD_EXP 7
1115: PPUSH
1116: LD_INT 4
1118: PPUSH
1119: CALL_OW 308
1123: OR
1124: IFFALSE 1146
1126: GO 1128
1128: DISABLE
// begin SetSide ( [ SURV1 , SURV2 ] , 4 ) ;
1129: LD_INT 160
1131: PUSH
1132: LD_INT 161
1134: PUSH
1135: EMPTY
1136: LIST
1137: LIST
1138: PPUSH
1139: LD_INT 4
1141: PPUSH
1142: CALL_OW 235
// end ; end_of_file
1146: END
// every 0 0$2 trigger FilterUnitsInArea ( UCIEKAC , [ f_side , 3 ] ) marked 1 do
1147: LD_INT 2
1149: PPUSH
1150: LD_INT 22
1152: PUSH
1153: LD_INT 3
1155: PUSH
1156: EMPTY
1157: LIST
1158: LIST
1159: PPUSH
1160: CALL_OW 70
1164: IFFALSE 1176
1166: GO 1168
1168: DISABLE
// begin YouLost ( UCIEKLI ) ;
1169: LD_STRING UCIEKLI
1171: PPUSH
1172: CALL_OW 104
// end ;
1176: END
// every 0 0$1 trigger IsDead ( RUS2_2 ) and GetSide ( RuS2_2 ) = 3 or IsDead ( B2 ) and GetSide ( B2 ) = 3 or IsDead ( B3 ) and GetSide ( B3 ) = 3 do
1177: LD_INT 73
1179: PPUSH
1180: CALL_OW 301
1184: PUSH
1185: LD_INT 73
1187: PPUSH
1188: CALL_OW 255
1192: PUSH
1193: LD_INT 3
1195: EQUAL
1196: AND
1197: PUSH
1198: LD_INT 79
1200: PPUSH
1201: CALL_OW 301
1205: PUSH
1206: LD_INT 79
1208: PPUSH
1209: CALL_OW 255
1213: PUSH
1214: LD_INT 3
1216: EQUAL
1217: AND
1218: OR
1219: PUSH
1220: LD_INT 80
1222: PPUSH
1223: CALL_OW 301
1227: PUSH
1228: LD_INT 80
1230: PPUSH
1231: CALL_OW 255
1235: PUSH
1236: LD_INT 3
1238: EQUAL
1239: AND
1240: OR
1241: IFFALSE 1253
1243: GO 1245
1245: DISABLE
// begin YouLost ( TRANS ) ;
1246: LD_STRING TRANS
1248: PPUSH
1249: CALL_OW 104
// end ;
1253: END
// every 0 0$01 trigger IsDead ( Nefarem ) do
1254: LD_EXP 8
1258: PPUSH
1259: CALL_OW 301
1263: IFFALSE 1275
1265: GO 1267
1267: DISABLE
// begin YouLost ( ded2 ) ;
1268: LD_STRING ded2
1270: PPUSH
1271: CALL_OW 104
// end ; end_of_file
1275: END
// export function Medale ; begin
1276: LD_INT 0
1278: PPUSH
// if FilterAllUnits ( [ [ f_side , 4 ] , [ f_type , unit_human ] ] ) > 6 then
1279: LD_INT 22
1281: PUSH
1282: LD_INT 4
1284: PUSH
1285: EMPTY
1286: LIST
1287: LIST
1288: PUSH
1289: LD_INT 21
1291: PUSH
1292: LD_INT 1
1294: PUSH
1295: EMPTY
1296: LIST
1297: LIST
1298: PUSH
1299: EMPTY
1300: LIST
1301: LIST
1302: PPUSH
1303: CALL_OW 69
1307: PUSH
1308: LD_INT 6
1310: GREATER
1311: IFFALSE 1325
// begin AddMedal ( med1 , 1 ) ;
1313: LD_STRING med1
1315: PPUSH
1316: LD_INT 1
1318: PPUSH
1319: CALL_OW 101
// end else
1323: GO 1336
// begin AddMedal ( med1 , - 1 ) ;
1325: LD_STRING med1
1327: PPUSH
1328: LD_INT 1
1330: NEG
1331: PPUSH
1332: CALL_OW 101
// end ; if Islive ( SURV1 ) and Islive ( SURV2 ) then
1336: LD_INT 160
1338: PPUSH
1339: CALL_OW 300
1343: PUSH
1344: LD_INT 161
1346: PPUSH
1347: CALL_OW 300
1351: AND
1352: IFFALSE 1366
// begin AddMedal ( med2 , 1 ) ;
1354: LD_STRING med2
1356: PPUSH
1357: LD_INT 1
1359: PPUSH
1360: CALL_OW 101
// end else
1364: GO 1377
// begin AddMedal ( med2 , - 1 ) ;
1366: LD_STRING med2
1368: PPUSH
1369: LD_INT 1
1371: NEG
1372: PPUSH
1373: CALL_OW 101
// end ; if FilterAllUnits ( [ [ f_side , 3 ] , [ f_type , unit_human ] ] ) = 0 then
1377: LD_INT 22
1379: PUSH
1380: LD_INT 3
1382: PUSH
1383: EMPTY
1384: LIST
1385: LIST
1386: PUSH
1387: LD_INT 21
1389: PUSH
1390: LD_INT 1
1392: PUSH
1393: EMPTY
1394: LIST
1395: LIST
1396: PUSH
1397: EMPTY
1398: LIST
1399: LIST
1400: PPUSH
1401: CALL_OW 69
1405: PUSH
1406: LD_INT 0
1408: EQUAL
1409: IFFALSE 1423
// begin AddMedal ( med3 , 1 ) ;
1411: LD_STRING med3
1413: PPUSH
1414: LD_INT 1
1416: PPUSH
1417: CALL_OW 101
// end else
1421: GO 1434
// begin AddMedal ( med3 , - 1 ) ;
1423: LD_STRING med3
1425: PPUSH
1426: LD_INT 1
1428: NEG
1429: PPUSH
1430: CALL_OW 101
// end ; GiveMedals ( MAIN ) ;
1434: LD_STRING MAIN
1436: PPUSH
1437: CALL_OW 102
// end ; end_of_file
1441: LD_VAR 0 1
1445: RET
// export function InitDifficult ; var Russianlist , un ; begin
1446: LD_INT 0
1448: PPUSH
1449: PPUSH
1450: PPUSH
// RussianList = FilterUnitsInArea ( Area10 , [ [ f_side , 3 ] , [ f_type , unit_human ] ] diff [ RUS1 , RUS2 ] ) ;
1451: LD_ADDR_VAR 0 2
1455: PUSH
1456: LD_INT 5
1458: PPUSH
1459: LD_INT 22
1461: PUSH
1462: LD_INT 3
1464: PUSH
1465: EMPTY
1466: LIST
1467: LIST
1468: PUSH
1469: LD_INT 21
1471: PUSH
1472: LD_INT 1
1474: PUSH
1475: EMPTY
1476: LIST
1477: LIST
1478: PUSH
1479: EMPTY
1480: LIST
1481: LIST
1482: PUSH
1483: LD_INT 87
1485: PUSH
1486: LD_INT 91
1488: PUSH
1489: EMPTY
1490: LIST
1491: LIST
1492: DIFF
1493: PPUSH
1494: CALL_OW 70
1498: ST_TO_ADDR
// if Difficulty = 1 then
1499: LD_OWVAR 67
1503: PUSH
1504: LD_INT 1
1506: EQUAL
1507: IFFALSE 1541
// begin for un in RussianList do
1509: LD_ADDR_VAR 0 3
1513: PUSH
1514: LD_VAR 0 2
1518: PUSH
1519: FOR_IN
1520: IFFALSE 1539
// begin SetSkill ( un , 1 , 0 ) ;
1522: LD_VAR 0 3
1526: PPUSH
1527: LD_INT 1
1529: PPUSH
1530: LD_INT 0
1532: PPUSH
1533: CALL_OW 237
// end ;
1537: GO 1519
1539: POP
1540: POP
// end ; if Difficulty = 2 then
1541: LD_OWVAR 67
1545: PUSH
1546: LD_INT 2
1548: EQUAL
1549: IFFALSE 1598
// begin for un in RussianList do
1551: LD_ADDR_VAR 0 3
1555: PUSH
1556: LD_VAR 0 2
1560: PUSH
1561: FOR_IN
1562: IFFALSE 1596
// begin SetSkill ( un , 1 , 1 ) ;
1564: LD_VAR 0 3
1568: PPUSH
1569: LD_INT 1
1571: PPUSH
1572: LD_INT 1
1574: PPUSH
1575: CALL_OW 237
// SetSkill ( un , 2 , 1 ) ;
1579: LD_VAR 0 3
1583: PPUSH
1584: LD_INT 2
1586: PPUSH
1587: LD_INT 1
1589: PPUSH
1590: CALL_OW 237
// end ;
1594: GO 1561
1596: POP
1597: POP
// end ; if Difficulty = 3 then
1598: LD_OWVAR 67
1602: PUSH
1603: LD_INT 3
1605: EQUAL
1606: IFFALSE 1685
// begin for un in RussianList do
1608: LD_ADDR_VAR 0 3
1612: PUSH
1613: LD_VAR 0 2
1617: PUSH
1618: FOR_IN
1619: IFFALSE 1683
// begin SetSkill ( un , 1 , 1 ) ;
1621: LD_VAR 0 3
1625: PPUSH
1626: LD_INT 1
1628: PPUSH
1629: LD_INT 1
1631: PPUSH
1632: CALL_OW 237
// SetSkill ( un , 2 , 1 ) ;
1636: LD_VAR 0 3
1640: PPUSH
1641: LD_INT 2
1643: PPUSH
1644: LD_INT 1
1646: PPUSH
1647: CALL_OW 237
// SetSkill ( un , 3 , 2 ) ;
1651: LD_VAR 0 3
1655: PPUSH
1656: LD_INT 3
1658: PPUSH
1659: LD_INT 2
1661: PPUSH
1662: CALL_OW 237
// SetSkill ( un , 4 , 1 ) ;
1666: LD_VAR 0 3
1670: PPUSH
1671: LD_INT 4
1673: PPUSH
1674: LD_INT 1
1676: PPUSH
1677: CALL_OW 237
// end ;
1681: GO 1618
1683: POP
1684: POP
// end ; end ; end_of_file
1685: LD_VAR 0 1
1689: RET
// export center ; every 0 0$1 trigger Center = 1 do
1690: LD_EXP 9
1694: PUSH
1695: LD_INT 1
1697: EQUAL
1698: IFFALSE 1713
1700: GO 1702
1702: DISABLE
// begin ; CenterNowOnUnits ( Nefarem ) ;
1703: LD_EXP 8
1707: PPUSH
1708: CALL_OW 87
// enable ;
1712: ENABLE
// end ;
1713: END
